1. Technical Field
The invention is related to echo cancellation, and in particular, to automatic echo cancellation for channels with unknown varying gain characteristics.
2. Related Art
Echo cancellation is an important element in a variety of applications, and is well known to those skilled in the art. In general, echo cancellation is the digital cancellation of electrical or acoustic echoes or signals such that the echoes are attenuated or eliminated. Typical uses for echo cancellation include systems for cancelling hybrid echoes, such as echoes caused by an impedance mismatch along an electrical line; cancelling periodic noise introduced by a power source, such as 60 Hz noise introduced via a conventional electrical socket; or cancelling acoustic echoes, such as echoes caused by acoustic coupling of sound from a loudspeaker to a microphone. Echo cancellation also allows one signal to be extracted from a composite of two signals. Regardless of the type of echo being cancelled, similar techniques are applied.
For example, acoustic echo cancellation (AEC) is generally used to cancel out the echoes of acoustic sound waves that are formed in an “echo loop” when sound emitted by one or more loudspeakers is picked up by one or more microphones. AEC generally operates by obtaining one or more playback signals, each going to corresponding loudspeakers, and subtracting an estimate of the echo produced by that playback signal from the one or more microphone signals. Specifically, the playback signals through this echo loop are transformed and delayed, background noise, and possibly near end speech, are added at the microphone, and a subtraction process for the echo cancellation is used. The signal obtained after subtraction is called the error signal, and the typical goal is to minimize the error signal when no near end speech is present in the microphone signal.
Typical AEC systems generally use adaptive filtering techniques to identify or “learn” a transfer function of the room that contains the loudspeakers and microphones. This transfer function generally depends on the physical characteristics of the room environment. The adaptive filter works by taking the playback signal sent to the speakers and recursively adjusting a set of coefficients that represent an impulse response of the room. The error signal, which is the estimated echo subtracted from the actual echo, is then used to change the filter coefficients such that the error is minimized.
Unfortunately, conventional AEC schemes generally assume that any gain function being applied to the input signal is constant. Consequently, in the case where a first input signal is known, but some unknown and varying gain function is applied to that first input signal, and an unknown second input signal is then combined with the first input signal to produce a known composite output signal, conventional AEC schemes are unable to provide adequate echo cancellation. In other words, where no direct access to the varying gain function applied to the first input signal is available, and no direct access to the second input signal is available, conventional AEC schemes are unable to provide a good estimate of the second input signal via echo cancellation to remove the first signal from the composite output signal. This problem is especially acute in the case where the gain function varies rapidly, such as in the case of a conventional automatic gain control (AGC) being applied to the first input signal.